﻿/**
 * @name umi 的路由配置
 * @description 只支持 path,component,routes,redirect,wrappers,name,icon 的配置
 * @param path  path 只支持两种占位符配置，第一种是动态参数 :id 的形式，第二种是 * 通配符，通配符只能出现路由字符串的最后。
 * @param component 配置 location 和 path 匹配后用于渲染的 React 组件路径。可以是绝对路径，也可以是相对路径，如果是相对路径，会从 src/pages 开始找起。
 * @param routes 配置子路由，通常在需要为多个路径增加 layout 组件时使用。
 * @param redirect 配置路由跳转
 * @param wrappers 配置路由组件的包装组件，通过包装组件可以为当前的路由组件组合进更多的功能。 比如，可以用于路由级别的权限校验
 * @param name 配置路由的标题，默认读取国际化文件 menu.ts 中 menu.xxxx 的值，如配置 name 为 login，则读取 menu.ts 中 menu.login 的取值作为标题
 * @param icon 配置路由的图标，取值参考 https://ant.design/components/icon-cn， 注意去除风格后缀和大小写，如想要配置图标为 <StepBackwardOutlined /> 则取值应为 stepBackward 或 StepBackward，如想要配置图标为 <UserOutlined /> 则取值应为 user 或者 User
 * @doc https://umijs.org/docs/guides/routes
 */
import component from '@/locales/en-US/component';
import { SmileOutlined, UserOutlined,FundViewOutlined,ImportOutlined } from '@ant-design/icons';

export default [
  {
    path: '/user',
    layout: false,
    routes: [
      {
        name: 'login',
        path: '/user/login',
        component: './User/Login',
      },
    ],
  },
  
  {
    path: '/account',
    name: 'account',
    icon: 'UserOutlined',
    routes: [
      {
        path: '/account',
        redirect: '/account/center',
      },
      {
        path: '/account/center',
        name: 'center',
        icon: 'crown',
        component: './Account/Center',
      },
       {
        path: '/account/payment',
        name: 'payment',
        icon: 'crown',
        component: './Financial/Payment',
      },
      {
        path: '/account/admin-center',
        name: 'admin-center',
        icon: 'crown',
        access: 'canAdmin',
        component: './Account/AdminCenter',
      },
      
    ],
  },
  {
    path: '/custom',
    name: 'custom',
    icon: 'UsergroupAddOutlined',
    routes: [
       {
        path: '/custom/list',
        name: 'customer',
        component: './Custom/Customer',
      },
      {
        path: '/custom/address',
        name: 'address',
        component: './Custom/Address',
      },
    ],
  },
   {
    path: '/product',
    name: 'product',
    icon: 'AppstoreOutlined',
    routes: [
      // {
      //   path: '/product',
      //   redirect: '/product/list',
      // },
       {
        path: '/product/list',
        name: 'list',
        component: './Product/Product',
      },
      {
        path: '/product/:id',
        name: 'detail',
        hideInMenu: true,
        component: './Product/Product/Detail',
      },
       {
        path: '/product/distribute',
        name: 'distribute',
        component: './Product/Distribute',
      },
    ]
  },
   {
    path: '/rule',
    name: 'rule',
    icon: 'ControlOutlined',
     routes: [
       {
        path: '/rule/price-rule',
        name: 'price-rule',
        component: './Rule/PriceRule',
      },
      {
        path: '/rule/special-charges',
        name: 'special-charges',
        component: './Rule/SpecialCharges',
      },
    ]
  },  
   {
    path: '/channel',
    name: 'channel',
    icon: 'ShareAltOutlined',
    routes: [
      {
        path: '/channel',
        redirect: '/channel/sp',
      },
      
       {
        path: '/channel/sp_api',
        name: 'sp_api',
        component: './Channel/SP_API',
      },
      {
        path: '/channel/sp',
        name: 'sp',
        component: './Channel/SP',
      },
    ],
  },
  {
    path: '/order-create',
    name: 'order-create',
    icon: 'ImportOutlined',
    component: './Order/Create'
  },
  {
    path: '/order',
    name: 'order',
    icon: 'OrderedListOutlined',
    routes: [
      {
        path: '/order',
        redirect: '/order/list',
      },
      {
        path: '/order/list',
        name: 'list',
        icon: 'crown',
        component: './Order/List',
      },
       {
        path: '/order/cancel',
        name: 'cancel',
        icon: 'crown',
        component: './Order/Cancel',
      },
       {
        path: '/order/abnormal',
        name: 'abnormal',
        icon: 'crown',
        component: './Order/Abnormal',
      },     
    ],
  },
 
  
   {
    path: '/financial',
    name: 'financial',
    icon: 'ControlOutlined',
    routes: [
       {
        path: '/financial/recharge',
        name: 'recharge',
        component: './Financial/Payment',
      },
      {
        path: '/financial/credit',
        name: 'credit',
        component: './Financial/Credit',
      },
    ]
  },
  {
    path: '/bill',
    name: 'bill',
    icon: 'ContainerOutlined',
    routes: [
      {
        path: '/bill',
        redirect: '/bill/list',
      },
      {
        path: '/bill/list',
        name: 'list',
        icon: 'crown',
        component: './Bill/List',
      },
      {
        path: '/bill/server',
        name: 'server',
        icon: 'crown',
        component: './Bill/Server',
      },
     
    ],
  },
  
 
  {
    path: '/approval',
    name: 'approval',
    icon: 'AuditOutlined',
    component: './Approval',
    // routes: [  ],
  },
  {
    path: '/system',
    name: 'system',
    icon: 'AuditOutlined',
    routes: [ 
      {
        path: '/system/user',
        name: 'user',
        component: './System/User',
      },
       {
        path: '/system/config',
        name: 'config',
        component: './System/Configuration',
      }
     ],
  },
  {
    path: '/slog',
    name: 'slog',
    icon: 'AuditOutlined',
    routes: [ 
      {
        path: '/slog/operator',
        name: 'operator',
        component: './Slog/Operator',
      },
       {
        path: '/slog/apiLog',
        name: 'apiLog',
        component: './Slog/ApiLog',
      },
      {
        path: '/slog/orderLog',
        name: 'orderLog',
        component: './Slog/OrderLog',
      },
     ],
  },
  {
    path: '/mainten',
    name: 'mainten',
    icon: 'TruckOutlined',
    routes: [
      {
        path: '/mainten',
        redirect: '/mainten/address',
      },
      {
        path: '/mainten/address',
        name: 'address',
        icon: 'crown',
        component: './Mainten/Address',
      }, 
      {
        path: '/mainten/dictionary',
        name: 'dictionary',
        icon: 'crown',
        component: './Mainten/Dictionary',
      }, 
       {
        path: '/mainten/dictionary/:type',
        name: 'detail',
        hideInMenu: true,
        component: './Mainten/Dictionary/ListForm',
      },    
    ],
  },
  {
    path: '/setting',
    name: 'setting',
    icon: 'SettingOutlined',
    component: './Setting',
  },
  // {
  //   path: '/tablist',
  //   name: 'tablist',
  //   icon: 'SettingOutlined',
  //   component: './TableList',
  // },
  {
    path: '/',
    redirect: '/account/center',
  },

  {
    path: '*',
    layout: false,
    redirect: '/account/center',
  },
];
